package com.sinog.biz.mapper.havexml;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sinog.core.domain.PrisonerXjxx;
import com.sinog.core.model.PrisonerXixxVo;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.Map;

/**
 * @desc 安帮人员衔接信息表 Mapper 接口
 * @author -
 * @date -
 */
public interface PrisonerXjxxMapper extends BaseMapper<PrisonerXjxx> {

    /**
     * 根据犯罪编号获取衔接信息ID
     * @param priNum priNum
     * @return String
     */
    String getXjxxIdByPriNum(String priNum);

    /**
     * 更改衔接表的adduserId
     * @param departId 更改后的addUserId
     * @param priNum 服刑人员编号
     * @return int 受影响行数
     */
    int updateAddUserIdByPriNum(@Param("departId") String departId,@Param("priNum") String priNum);

    /**
     * 根据服刑人员编号获取衔接信息
     * @param priNum 服刑人员编号
     * @return PrisonerXjxx
     */
    PrisonerXjxx getXjxxByPriNum(String priNum);

    /**
     * 根据服刑人员编号删除衔接信息
     * @param priNum 服刑人员编号
     * @return int
     */
    int deleteByPriNum(String priNum);

    /**
     * 根据服刑人员编号查询送回方式
     * @param priNum priNum
     * @return String
     */
    String selectShfsByPriNum(String priNum);

    /**
     * 鉴定人员详细列表
     * @param priNum priNum
     * @return Map<String,Object>
     */
    Map<String,Object> getPingguInfo(@Param("priNum") String priNum);

    /**
     * 更新衔接信息的联系人联系电话接回时间和接回地点
     * @param time 接送时间
     * @param address 接送地址
     * @param lianxiMan 联系人
     * @param lianxiPhone 联系方式
     * @param priNum 服刑编号
     * @return int
     */
    int updateXjxx(
            @Param("time") Date time,
            @Param("address") String address,
            @Param("lianxiMan") String lianxiMan,
            @Param("lianxiPhone") String lianxiPhone,@Param("priNum") String priNum);

    /**
     * 填写信息
     * @param prisonerXjxx 人员衔接信息
     * @return int
     */
    int insertBlXjxx(@Param("prisonerXjxx") PrisonerXjxx prisonerXjxx);

    /**
     * 填写信息
     * @param priNum 罪犯编码
     * @return String
     */
    String findTuJing(@Param("priNum") String priNum);

    /**
     * 根据服刑编号删除服刑人员的衔接信息
     * @param priNum 服刑编号
     * @return int
     */
    int deleteXjxxByPriNum(@Param("priNum") String priNum);

    /**
     * 预安置管理 - 预释放人员衔接 - 查看 - 档案材料
     * @param paramMap 搜索条件
     * @return PrisonerXixxVo
     */
    PrisonerXixxVo selectPrisonerXjxxByPriNum(@Param("paramMap") Map<String,Object> paramMap);
}